home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / autose1g / declare.bas < prev    next >
BASIC Source File  |  1999-03-23  |  17KB  |  545 lines

  1. Attribute VB_Name = "Module1"
  2. Option Explicit
  3.  
  4. 'Declare structure types: ships, players, planets
  5.  
  6. Type StarShip
  7.     Troops As Integer
  8.     AssaultTroops As Integer
  9.     '
  10.     HaveShields As Boolean
  11.     
  12.     HaveShield1 As Boolean
  13.     HaveShield2 As Boolean
  14.     
  15.     HaveWeapons As Boolean
  16.     HaveBigShip As Boolean
  17.     HaveCloakingDevice As Boolean
  18.     Hidden As Boolean
  19.     Sabotage As Boolean
  20.     '
  21.     CombatStrength As Integer
  22.     WarpPosition As Integer     '0 if not in use, 1-8 if on warp path
  23.     Coordinate As String        'coord of originating planet
  24.     CenterX As Integer          'used to draw line from starting
  25.     CenterY As Integer          'planet to possible destinations
  26.     Launched As Boolean         'if launched, disable button to launch again
  27.     ShipNumber As Integer       '0 or 1 for array of ship(2) in player structure
  28. End Type
  29.  
  30. Type PlanetaryBody
  31.     Name As String
  32.     Owner As Integer            '0,1,2 for neutral, player 1, player 2
  33.     Troops As Integer
  34.     AssaultTroops As Integer
  35.     '
  36.     HaveShields As Boolean
  37.     HaveMissiles As Boolean     'CS depends on whether player has
  38.                                 'missile1 or 2 researched...
  39.  
  40.     HaveScanner As Boolean
  41.     HaveJammer As Boolean
  42.     InScannerRange As Boolean   'if in range of scanner - replaces sharing of "inrange" with landing
  43.     '
  44.     BioRocketETA As Integer
  45.     BioDistance As Variant
  46.     Contaminated As Boolean     'toxic to humans
  47.     NukedResources As Boolean   'resources wiped out by biorocket
  48.     InBioRange As Boolean       'if in range for biorocket
  49.     LaunchSite As Boolean       'which planet rocket firing from - used
  50.                                 'to erase the lines!
  51.     BioFailed As Boolean        'if enemy tried to use biorocket but it was shot down
  52.     
  53.     '
  54.     CenterX As Integer
  55.     CenterY As Integer
  56.     '
  57.     ImprovedResources As Boolean
  58.     CombatStrength As Integer
  59.     Coordinate As String
  60.     Resources As Integer        'random # resources produced per turn
  61.     InRange As Boolean          'if in range for landing
  62.     BackGround As Integer       '1-5 for landscape picture
  63.     Picture As Integer          '1-5 for galaxy picture - used to restore after contamination
  64.     JustLanded As Boolean       'don't let ship take off after landing on a new planet
  65.     '
  66.     Sabotaged As Boolean            'in frmGameScreen, SabotageLanding, to give other player
  67.     SabotageReduction As Integer    'a message the next turn
  68.     SabotagedFactory As Boolean     'if factory destroyed in sabotage mission
  69.     Damaged As Boolean              'enables cmdRepairIndustry button
  70.                                     'will add 2-4 (up to 8), set to false once resources up to 4
  71.     Captured As Boolean         'for giving a message if other player took over planet on his/her turn
  72.     '
  73.     FailedInvasion As Boolean               'to notify player that opponent tried and failed to attack planet
  74.     FailedInvasionTroopLosses As Integer    'show losses suffered in defense of planet
  75.     FailedInvasionMechLosses As Integer
  76.     '
  77. End Type
  78.  
  79. Type PlayerType
  80.     Name As String
  81.     NumTroops As Integer            'total # of troops
  82.     NumAssaultTroops As Integer
  83.     NumPlanets As Integer           'total # of planets owned
  84.     NumResources As Integer         'total of all resources
  85.     Ship(2) As StarShip
  86.     HomePlanet As Integer           'index number of home planet
  87.     WasBig As Boolean               'announce if empire shrinking
  88.     
  89.     '***Research***
  90.     Missile1ResearchDone As Integer
  91.     Missile1Researched As Boolean
  92.     
  93.     Missile2ResearchDone As Integer
  94.     Missile2Researched As Boolean
  95.  
  96.     ShieldResearchDone As Integer    'time to research planetary shields
  97.     ShieldResearched As Boolean      'whether this tech researched
  98.  
  99.     LaserResearchDone As Integer
  100.     LaserResearched As Boolean
  101.     
  102.     PlasmaResearchDone As Integer
  103.     PlasmaResearched As Boolean
  104.     
  105.     MechResearchDone As Integer     'time to research assault tech
  106.     MechResearched As Boolean       'whether or not player has researched this tech
  107.     
  108.     BioRocketResearchDone As Integer
  109.     BioRocketResearched As Boolean
  110.     
  111.     LongBioResearchDone As Integer
  112.     LongBioResearched As Boolean
  113.     
  114.     ShipShield1ResearchDone As Integer
  115.     ShipShield1Researched As Boolean
  116.     
  117.     ShipShield2ResearchDone As Integer
  118.     ShipShield2Researched As Boolean
  119.     
  120.     BigShipResearchDone As Integer
  121.     BigShipResearched As Boolean
  122.     
  123.     UltraWarpResearchDone As Integer
  124.     UltraWarpResearched As Boolean
  125.     
  126.     CloakingResearchDone As Integer
  127.     CloakingResearched As Boolean
  128.      
  129.     ResourceResearchDone As Integer     'time to research resource improvement
  130.     ResourcesResearched As Boolean      'whether player has researched this tech
  131.     
  132.     BioCleanupResearchDone As Integer
  133.     BioCleanupResearched As Boolean
  134.     
  135.     RegenerationResearchDone As Integer
  136.     RegenerationResearched As Boolean
  137.    
  138.     ScannerResearchDone As Integer
  139.     ScannerResearched As Boolean
  140.     
  141.     DeepScannerResearchDone As Integer
  142.     DeepScannerResearched As Boolean
  143.     
  144.     JammerResearchDone As Integer
  145.     JammerResearched As Boolean
  146.     
  147.     WarpScannerResearchDone As Integer
  148.     WarpScannerResearched As Boolean
  149.     
  150.     '*****
  151.     Message1Given As Boolean        'warning when enemy has 10 planets
  152.     Message2Given As Boolean        'warning when enemy has 20 planets
  153. End Type
  154.  
  155. 'Declare variables of defined types
  156. Public Player(2) As PlayerType
  157. Public Planet(50) As PlanetaryBody
  158.  
  159. 'Declare Global Variables
  160. Public Const Modal = 1              'used to display forms as modal/nonmodal
  161. Public Const NonModal = 0
  162.  
  163. Public gFileNum As Integer          'for reading/writing files
  164. Public TurnNumber As Integer
  165.  
  166. '*****************************
  167. Public Current As Integer           '0 or 1, use to see whose turn it is
  168. Public Other As Integer             '0 or 1
  169. Public Const Neutral = 2            'As Integer    '2 for now...
  170. Public Const Alien = 3              'As Integer    '3 for now
  171. '*****************************
  172. Public ActivePlanet                 'used for buying stuff
  173. Public UnitCost                     '
  174. Public Quantity                     '
  175. Public PurchasePrice                '
  176. '*****************************
  177. Public IncomingMessage As String    'for the messages players
  178. Public OutgoingMessage As String    'send to each other
  179.  
  180. Public activeship As Integer        'either 0 or 1 for ship number
  181.  
  182. '************
  183. 'Combat:
  184. Public AttackStrength As Integer
  185. Public DefenceStrength As Integer
  186. Public Losses As Integer
  187. Public TroopLosses As Integer
  188. Public AssaultLosses As Integer
  189.  
  190. Public NumPlanetsCaptured As Integer    'counter to see how many planets of other player taken over this turn
  191.  
  192. Public NumFailedInvasions As Integer    'counter for failed invasions by other player
  193. '************
  194.  
  195. Public TechLevel As Integer         'for setting up techdone form
  196.                                     'sets which title, image and description to show
  197.                              
  198. Public ReadyToLand1 As Boolean      'toggle for land1 button
  199. Public ReadyToLand2 As Boolean
  200.  
  201. Public ScannerOn As Boolean         'toggle for mousemove, how much info shown
  202.                                     'in txtstatus.text for planets
  203.                                     
  204. Public BioRocketOn As Boolean       'toggle for biorocket launch button
  205. Public RegenerateOn As Boolean      'toggle
  206. Public DetoxifyOn As Boolean        'toggle
  207.  
  208. 'Sound API
  209. Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long
  210. Public Sound As String
  211. Public SoundOn As Boolean           'for sound toggle
  212.  
  213. '************************
  214. Public GalaxySize As Integer        'for different number of planets E/M/H
  215. '************************
  216. Public MessageType As String        'to set picture and text for Message Form
  217.                                     'ie. biorocket explosion, planet overrun
  218. Public Announceline1 As String      't